In recent years, computer systems allowing a plurality of operating systems (OS) to operate on a single computer architecture have been known.
For example, a plurality of processing modules and a main memory included in a computer system are configured as separate partitions in the computer system and a plurality of OS is executed in parallel in different partitions.
In such a computer system, it is known that different partitions communicate with each other through a shared memory.
Other partitions are notified that data is stored in the shared memory through an interrupt notification.
In a system in which a plurality of virtual OS is executed on a hypervisor as a virtualized OS, for example, an interrupt notification is made to the virtual OS at the transmission destination by using an IPI (Inter-Processor Interrupt) function via the hypervisor. IPI is interrupt control between guest OSs via the hypervisor. The virtual OS at the transmission destination having received the interrupt recognizes reception preparations of transmission data by reading an area in the shared memory. In this manner, a data exchange (communication) between virtual OSs is completed. Hereinafter, the guest OS may be referred to as GOS.
In such a conventional computer system, however, the ratio of the time needed for IPI communication processing is high and the IPI communication processing forms a bottleneck in processing performance of inter-OS communication. Accordingly, a problem of the speed of inter-OS communication being reduced by the IPI communication processing is posed.
This is because processing makes a transition up to the hypervisor layer when IPI is issued in GOS and overheads of software processing in the hypervisor are high and so it takes time before IPI is issued.
[Patent Literature 1] Japanese Laid-open Patent Publication No. 2004-220216
[Patent Literature 2] Japanese National Publication of International Patent Application No. 2008-535099
[Patent Literature 3] International Publication Pamphlet No. 2006/022161